Applying Scalable Distributed Data Structures to Tuple Spaces
نویسندگان
چکیده
1 Distributed Tuple Spaces Tuple spaces have been conceived [3] and extended under the influence of databases and messaging systems. However, there is no notion of data schemes, and queries are specified by templates, that may wildcard arbitrary fields of a tuple. Therefore, indexing tuples is a highly non trivial task, which is complicated even more by the advent of field hierarchies. As a result, the need of multi-dimensional indexing and range queries becomes apparent. The transformation of an arbitrary field to an interval, as introduced in [5], induces the transformation of a tuple to a hypercube. Since templates are syntactically identical with tuples, this transformation applies to templates, too. Based on this abstract representation, a necessary condition for matching is deduced, i.e. the inclusion of a tuple's hypercube within the template's hypercube. Furthermore, tuples have to be distributed among several tuple space servers, in order to achieve a scalable tuple space. Therefore, each server is assigned a hypercube, which induces its tuple domain, i.e. the set of tuples with hypercubes that have a non null intersection with the server's hypercube. If a tuple is written to the tuple space, it is stored on an arbitrary server, the tuple domain of which including the tuple. Then, queries may be confined to the subset of servers with tuple domains that include the template.
منابع مشابه
Bissa-A Scalable and Distributed tuple Space
The idea of tuple spaces is based on the white-board design pattern & made its first appearance in the late 1980s. Similar to its mathematical interpretation, we identify tuple as a set of values separated by some kind of delimiter. For an example we can represent the name, birth year & the home town of a student using a simple tuple . In our work, we have implemented a tup...
متن کاملCustomization of First Class Tuple-Spaces in a Higher-Order Language
A distributed data structure is an object which permits many producers to augment or modify its contents, and many consumers simultaneously to access its component elements. Synchronization is implicit in data structure access: a process that requests an element which has not yet been generated blocks until a producer creates it. In this paper, we describe a parallel programming language (calle...
متن کاملDesigning a Fault–tolerant Jini Compute Server
Java-based tuplespaces provide a simple infrastructure for scientific distributed computing. There are several classes of problems that are not efficiently solvable in JavaSpaces model of computation while efficiently solvable in other tuplespace implementation. JavaSpaces can be used for high performance computing if viewed less strictly in the heritage of Linda and more as a platform-neutral ...
متن کاملImplementing Mobile and Distributed Applications in X-Klaim
In this paper we present X-KLAIM, an experimental programming language specifically designed to program distributed systems composed of several components interacting through multiple distributed tuple spaces and mobile code. The language consists of a set of coordination primitives inspired by Linda, a set of operators for building processes borrowed from process algebras and a few classical c...
متن کاملA Method for Data Consistency Support in Mobile Ad hoc Distributed Systems
This paper presents a research-in-progress report on a method for data consistency support in ad-hoc mobile distributed systems, based on the concept of high-level operations “compatibility” and operation history reconciliation. The proposed method also utilizes tuple spaces as a communication model and accumulators as data structures for efficient conflict resolution.
متن کامل